package com.filetest.service;

/**
 * @author xhw
 */

public class PathUtils {
    /**
     * 处理路径字段的规范
     */
    public static String normalizePath(String path) {
        if (path == null || path.isEmpty()) {
            return "/";
        }

        // 确保路径以斜杠开头
        if (!path.startsWith("/")) {
            path = "/" + path;
        }

        // 去掉路径末尾的斜杠（如果不是根目录）
        if (path.endsWith("/")) {
            path = path.substring(0, path.length() - 1);
        }

        return path;
    }

    /**
     * 计算路径的深度，根目录为1，每一级子目录深度加1。
     */
    public static int calculateDepth(String path) {
        if (path.equals("/")) {
            return 1;
        }
        //分成几部分就应该是几层
        return path.split("/").length - 1;
    }

    /**
     * 拼接路径
     */
    public static String joinPaths(String basePath, String logicPath) {
        String combinedPath = basePath + "/" + logicPath;
        return normalizePath(combinedPath);
    }
}